<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=sc, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // let a = {};
        // let b = '123';
        // let c = 123;
        // a[b] = 'b';
        // a[c] = 'c';
        // console.log(a[b]);
        // function arr(aee) {
        //     switch (aee) {
        //         case "a":
        //             console.log("a");
        //             break;
        //         case "b":
        //             console.log("b");
        //             break;
        //         case undefined:
        //             console.log("undefined");
        //             break;
        //         default:
        //             console.log("c");
        //     }
        // }
        // arr(String("a"));


        const arr1 = [5, 4, 3, 2, 1];

        // 3   
        //   left  [2,1]   
        //   right [5,4] 


        // left  [2,1]   
        //   基准  1   
        //      right [2]

        //   [1,2] 

        //   3

        //   [4,5]





        const sort = arr => {
            if (arr.length <= 1) {
                return arr
            }

            const midIndex = Math.floor(arr.length / 2);
            const mid = arr.splice(midIndex, 1);
            const midVal = mid[0];
            const left = [];
            const right = [];

            for (let i = 0; i < arr.length; i++) {
                if (arr[i] < midVal) {
                    left.push(arr[i]);

                } else {
                    right.push(arr[i]);
                }
            }


            return sort(left).concat(midVal, sort(right))

        }

        console.log(sort(arr1));




    </script>
</body>

</html>